Flask এবং FastAPI হল দুটি জনপ্রিয় ওয়েব ফ্রেমওয়ার্ক, যা মেশিন লার্নিং মডেল সার্ভিংয়ের জন্য ব্যবহৃত হয়। উভয় ফ্রেমওয়ার্কই RESTful API তৈরি করতে সক্ষম, যা প্রশিক্ষিত মডেলকে উৎপাদন পরিবেশে ডিপ্লয় এবং ব্যবহার করতে সাহায্য করে। নিচে উভয় ফ্রেমওয়ার্ক ব্যবহার করে মডেল সার্ভ করার পদ্ধতি বিস্তারিতভাবে আলোচনা করা হলো।
১. Flask ব্যবহার করে মডেল সার্ভ করা
Flask একটি মাইক্রো ওয়েব ফ্রেমওয়ার্ক যা সহজে এবং দ্রুত API তৈরি করতে সাহায্য করে।
Flask API সার্ভিং পদ্ধতি:
প্রয়োজনীয় লাইব্রেরি ইনস্টল করা:
pip install flask joblib
মডেল প্রশিক্ষণ এবং Serialization:
import joblib
from sklearn.ensemble import RandomForestClassifier
# মডেল তৈরি এবং প্রশিক্ষণ
model = RandomForestClassifier()
# Assume X_train, y_train are your training datasets
model.fit(X_train, y_train)
# মডেল Serializing
joblib.dump(model, 'model.pkl')
Flask API তৈরি করা:
from flask import Flask, request, jsonify
import joblib
app = Flask(__name__)
model = joblib.load('model.pkl') # লোড করা মডেল
@app.route('/predict', methods=['POST'])
def predict():
data = request.get_json(force=True)
prediction = model.predict([data['input']])
return jsonify(prediction.tolist())
if __name__ == '__main__':
app.run(debug=True)
API কল করা: আপনি API-কে কল করতে পারেন Postman বা Curl ব্যবহার করে। উদাহরণস্বরূপ:
curl -X POST http://127.0.0.1:5000/predict -H "Content-Type: application/json" -d '{"input": [1.0, 2.0, 3.0]}'
২. FastAPI ব্যবহার করে মডেল সার্ভ করা
FastAPI হল একটি আধুনিক ফ্রেমওয়ার্ক, যা দ্রুত এবং কার্যকরী API তৈরি করতে সহায়ক।
FastAPI API সার্ভিং পদ্ধতি:
প্রয়োজনীয় লাইব্রেরি ইনস্টল করা:
pip install fastapi uvicorn joblib
মডেল প্রশিক্ষণ এবং Serialization: (এটি পূর্ববর্তী Flask উদাহরণের মতোই, মডেলকে প্রশিক্ষণ ও সংরক্ষণ করতে হবে।)
FastAPI API তৈরি করা:
from fastapi import FastAPI
from pydantic import BaseModel
import joblib
app = FastAPI()
model = joblib.load('model.pkl') # লোড করা মডেল
class InputData(BaseModel):
input: list[float]
@app.post('/predict')
def predict(data: InputData):
prediction = model.predict([data.input])
return {'prediction': prediction.tolist()}
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='127.0.0.1', port=8000)
API কল করা: FastAPI API-কে কল করার জন্যও আপনি Postman বা Curl ব্যবহার করতে পারেন:
curl -X POST http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{"input": [1.0, 2.0, 3.0]}'
উপসংহার
Flask এবং FastAPI উভয়ই মেশিন লার্নিং মডেল সার্ভ করার জন্য কার্যকর ফ্রেমওয়ার্ক। Flask সহজ এবং জনপ্রিয়, তবে FastAPI আধুনিক এবং উচ্চ কর্মক্ষমতার সাথে দ্রুত API তৈরির সুবিধা প্রদান করে। উভয়ের মধ্যে যেকোনোটি বেছে নেওয়া আপনার প্রয়োজন এবং প্রকল্পের চাহিদার উপর নির্ভর করে।
Read more